//
//  Common.h
//  smu_test1
//
//  Created by jiayi on 16/9/25.
//
//

#ifndef Common_h
#define Common_h


#include <string>
#include <list>
#include <map>
#include <vector>

#include <iostream>
#include <fstream>

using namespace std;

// define error
enum smuError{
    ok = 0,
    no_txt = 1001
};

// function defines

// trim string
static inline std::string& ltrim(std::string &s) {
    s.erase(s.begin(), std::find_if(s.begin(), s.end(), std::not1(std::ptr_fun<int, int>(std::isspace))));
    return s;
}
static inline std::string& rtrim(std::string &s) {
    s.erase(std::find_if(s.rbegin(), s.rend(), std::not1(std::ptr_fun<int, int>(std::isspace))).base(), s.end());
    return s;
}
static inline std::string &trim(std::string &s) {
    return ltrim(rtrim(s));
}

// defines
#define smuDelete(x) if( x ){ delete x; x = nullptr; }

#endif /* Common_h */
